Skip to content

WIP feat(gnoland1): cherry-pick client updates from master#5298

Open
moul wants to merge 5 commits intochain/gnoland1from
gnoland1-clients-updates
Open

WIP feat(gnoland1): cherry-pick client updates from master#5298
moul wants to merge 5 commits intochain/gnoland1from
gnoland1-clients-updates

Conversation

@moul
Copy link
Member

@moul moul commented Mar 16, 2026

Cherry-picks from master:

These are client-side changes (gnoweb/docs) that don't affect consensus.

Related: #5296

thehowl and others added 3 commits March 13, 2026 17:33
- Switch siteverify endpoint to the canonical
`https://api.hcaptcha.com/siteverify`
- Send `remoteip` (recommended by hCaptcha docs) to improve fraud signal
accuracy; the value is the already-validated client IP resolved by
`ipMiddleware`, threaded through via request context
- Add optional `--captcha-sitekey` flag; when set, the sitekey is
forwarded to hCaptcha's siteverify endpoint to prevent tokens issued for
other sites from being accepted
- Add `--log-level` flag to the `serve` command (default `info`),
replacing the previously hardcoded `debug` level across all subcommands;
consolidate the three duplicate logger constructions into a single
`newLogger` method on `serveCfg`
- Add structured `debug`-level logging around each hCaptcha verification
call (request params and response fields including `error_codes`),
observable in production by setting `--log-level debug`
alloc per-byte, first step to correct/improve gas assumption for memory
allocation.
Safari iOS does not re-evaluate CSS custom properties in SVG inline
style attributes when variable values change dynamically. The logo fills
were invisible in dark mode because `fill: var(--s-logo-hat)` set via
inline style was never recalculated after the theme switch.



**Fix: moved fills to CSS stylesheet rules (`b-gnome/b-logo blocks`) so
the browser cascades correctly on theme change.**

Tested on Safari iOS (iPhone) in dark mode: logo now renders correctly
on initial load without requiring any repaint.


<img width="45%" height="1434" alt="IMG_4054"
src="https://github.com/user-attachments/assets/91dcc5e4-17b0-4f9c-8baa-84467185d390"
/>
<img width="45%" height="1434" alt="IMG_4053"
src="https://github.com/user-attachments/assets/2048fc94-71d6-458d-9de6-325c659b4264"
/>
@Gno2D2
Copy link
Collaborator

Gno2D2 commented Mar 16, 2026

🛠 PR Checks Summary

All Automated Checks passed. ✅

Manual Checks (for Reviewers):
  • IGNORE the bot requirements for this PR (force green CI check)
Read More

🤖 This bot helps streamline PR reviews by verifying automated checks and providing guidance for contributors and reviewers.

✅ Automated Checks (for Contributors):

No automated checks match this pull request.

☑️ Contributor Actions:
  1. Fix any issues flagged by automated checks.
  2. Follow the Contributor Checklist to ensure your PR is ready for review.
    • Add new tests, or document why they are unnecessary.
    • Provide clear examples/screenshots, if necessary.
    • Update documentation, if required.
    • Ensure no breaking changes, or include BREAKING CHANGE notes.
    • Link related issues/PRs, where applicable.
☑️ Reviewer Actions:
  1. Complete manual checks for the PR, including the guidelines and additional checks if applicable.
📚 Resources:
Debug
Manual Checks
**IGNORE** the bot requirements for this PR (force green CI check)

If

🟢 Condition met
└── 🟢 On every pull request

Can be checked by

  • Any user with comment edit permission

@codecov
Copy link

codecov bot commented Mar 16, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@moul moul changed the title chore(gnoland1): cherry-pick client updates from master WIP feat(gnoland1): cherry-pick client updates from master Mar 16, 2026
@moul moul mentioned this pull request Mar 16, 2026
7 tasks
@ajnavarro
Copy link
Contributor

I think you need to run make generate too.

## Summary

Complete genesis configuration and tooling for the `gnoland1` betanet
launch.

### Genesis configuration (`misc/deployments/gnoland1/`)

- **`gen-genesis.sh`** — deterministic genesis generation script. Builds
all example packages, creates governance bootstrap transactions (govDAO
setup, validator registration, chain params), adds deployer + airdrop
balances, and produces a verified `genesis.json`.
- **`govdao_prop1.gno`** — MsgRun executed at genesis to bootstrap
governance: sets up a temporary deployer as sole T1 member, registers
initial validators, locks bank transfers, enables namespace enforcement,
adds manfred as T1 member, then locks down the memberstore.
- **`config.toml`** — reference node config with `# TODO` markers for
operator-specific fields (moniker, external address, persistent peers,
seeds).
- **`Makefile`** — `make help`, `make generate` (with sha256
verification), `make test` (boots a node to validate genesis block
execution), `make clean`.
- **`README.md`** — 5-step validator setup guide (generate, build,
configure, start, verify+join).

### Genesis validators (7, BFT >2/3 → 5 must be up)

gnocore-val-01, gnocore-val-02, moul-val-01, aeddi-val-01, berty-val-01,
samourai-crew-1, onbloc-val-01

### GovDAO scripts (`govdao-scripts/`)

Post-genesis operational scripts for govDAO members:
- `add-validator.sh` / `rm-validator.sh` — add/remove validators via
govDAO proposal
- `add-validator-from-valopers.sh` — add validator registered at
`r/gnops/valopers`
- `extend-govdao-t1.sh` — one-time bootstrap: adds 6 T1 members (Jae,
Morgan, Ray, Dongwon, Maxwell, Milos)
- `unrestrict-account.sh` — allow address(es) to transfer ugnot when
bank is locked

### Node changes

- **`-x-early-start` flag** (`tm2/pkg/bft/node/node.go`,
`gno.land/cmd/gnoland/start.go`) — experimental flag that starts RPC +
P2P before genesis time, deferring only consensus. Helps validators
discover each other and sync before the chain starts producing blocks.

## Test plan

- [x] `make generate` produces a deterministic `genesis.json` with
matching sha256
- [x] `make test` boots a node and validates genesis block execution
- [x] Node starts with `--skip-genesis-sig-verification` and syncs
- [x] `-x-early-start` starts RPC/P2P early, consensus waits for genesis
time
- [x] GovDAO scripts execute successfully post-genesis

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Signed-off-by: moul <94029+moul@users.noreply.github.com>
Co-authored-by: aeddi <antoine.e.b@gmail.com>
Co-authored-by: sw360cab <sw360cab@gmail.com>
Co-authored-by: Antoine Eddi <5222525+aeddi@users.noreply.github.com>
Co-authored-by: Morgan <git@howl.moe>
Co-authored-by: Morgan Bazalgette <morgan@morganbaz.com>
Add the legal notice required by the legal team to the gnoweb footer,
with links to three legal documents (Gno GPL License, Network
Interaction Terms, and Contributor License Agreement). Also add
`TERMS.md` and` CLA.md` at the repo root with the full legal text
provided by counsel.

**Footer (gnoweb):**

- Replace the former "Legal" section (_Terms_ + _Privacy_ pointing to
the same `LICENSE.md`) with a proper legal notice paragraph and three
named legal document links (Gno GPL License, Network Interaction Terms,
Contributor License Agreement)
- Restructure the footer layout into two zones: navigation + social
links on top, full-width legal disclaimer below
- Navigation links now sit inline with the logo (`.nav-primary, 7 grid
columns`), social links occupy the right column (.`nav-social, 3 grid
columns`)

**Legal documents:**

- `TERMS.md`: Gno.land Network Interaction Terms (sections covering
content ownership, on-chain licensing, disclaimers, etc.)
- `CLA.md `: Gno.land Contributor License Agreement (sections covering
copyright/patent grants, contributor representations, CLA Hash
mechanism, etc.)

<img width="1782" height="230" alt="Capture d’écran 2026-02-20 à 11 47
27"
src="https://github.com/user-attachments/assets/a6276e7e-ef13-41f9-afce-2f0fde66693e"
/>

---------

Co-authored-by: Jae Kwon <53785+jaekwon@users.noreply.github.com>
Co-authored-by: jaekwon <jae@tendermint.com>
@moul moul force-pushed the gnoland1-clients-updates branch from 939ee22 to e32f291 Compare March 16, 2026 19:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🐳 devops 🌍 gnoweb Issues & PRs related to gnoweb and render 📦 ⛰️ gno.land Issues or PRs gno.land package related 📄 top-level-md

Projects

Status: In Progress
Status: 📥 Inbox

Development

Successfully merging this pull request may close these issues.

6 participants